<p>A fenced code block:</p>
<pre>
<code class="scala">
class Example(name: String) {
  val field: Option[Int] = None
}
</code>
</pre>

<p>And another one, this time with an empty line:</p>
<pre>
<code class="javascript">
   var model = ko.sync.Model({
       dataStore: store,
       dataTable: table,
       fields: {counter: 0}
   });

   var data = ko.sync.use({}, model);
   data.crud.isDirty(); // false
   data.counter(1);
   data.crud.isDirty(); // true
</code>
</pre>

<p>and here is another one:</p>
<pre>
<code class="java">
public static String message(@PropertyKey(resourceBundle = BUNDLE_NAME) String key, Object... params) {
    return CommonBundle.message(BUNDLE, key, params);
}

public static String messageOrBlank(@PropertyKey(resourceBundle = BUNDLE_NAME) String key, Object... params) {
    return CommonBundle.messageOrDefault(BUNDLE, key, "", params);
}
</code>
</pre>
<p>test opening with more than 3 ticks</p>
<pre><code class="java">public static String message(@PropertyKey(resourceBundle = BUNDLE_NAME) String key, Object... params) {
    return CommonBundle.message(BUNDLE, key, params);
}

public static String messageOrBlank(@PropertyKey(resourceBundle = BUNDLE_NAME) String key, Object... params) {
    return CommonBundle.messageOrDefault(BUNDLE, key, &quot;&quot;, params);
}
```
should still be fenced
`````
should still be fenced
</code></pre>
